package com.xbongbong.paas.domain.entity;

import com.xbongbong.paas.toolbox.wrap.Entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Objects;

/**
 * @Auther: yingjianfeng
 * @Date: 2021/11/16 10:27
 * @Description: 阶段记录
 */
@ToString
@Getter
@Setter
public class StageLogEntity extends Entity {
    /**
     * 主键
     */
    private Long id;
    /**
     * 公司id
     */
    private String corpid;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 阶段流程id
     */
    private Long stageProcessId;
    /**
     * 阶段id
     */
    private Long stageId;
    /**
     * 阶段类型
     */
    private Integer stageType;
    /**
     * 阶段code
     */
    private String stageCode;
    /**
     * 数据id
     */
    private Long dataId;
    /**
     * 是否是当前阶段【0否、1是】
     */
    private Integer isNow;
    /**
     * 记录客户流失前阶段id
     */
    private Long preStageId;
    /**
     * 记录客户流失前阶段code
     */
    private String beforeStageCode;
    /**
     * 流失原因/输单原因/无效原因的数据字典id
     */
    private Integer reasonId;
    /**
     * 流失备注
     */
    private String memo;
    /**
     * 每次进入阶段都更新进入时间
     */
    private Long intoTime;
    /**
     * 跳出该阶段的时间，默认为0，当is_now=0时该字段才有值（B跳回A时，要把B的out_time置为0）
     */
    private Long outTime;
    /**
     * 上次进入该时间
     */
    private Long lastIntoTime;
    /**
     * 历史停留时长
     */
    private Long historyStayTime;
    /**
     * 创建时间时间戳
     */
    private Long addTime;
    /**
     * 更新时间时间戳
     */
    private Long updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    public void setReasonId(Integer reasonId) {
        if (Objects.isNull(reasonId)) {
            reasonId = 0;
        }
        this.reasonId = reasonId;
    }

    public void setMemo(String memo) {
        if (Objects.isNull(memo)) {
            memo = "";
        }
        this.memo = memo;
    }
}
